Traffic engineering tries to reduce congestion by efficient distribution of computer network traffic. Overall network performance improves when uneven traffic distribution is avoided. Traffic engineering uses an analytic model of network behaviors for proper network dimensioning, network provisioning, and admission control.
Current computer networks suffer from congestion due to increasing traffic. Traffic engineering takes two conceptual approaches to congestion control: (1) congestion control at traffic sources, and (2) queue management in routers.
Congestion control at traffic sources usually focuses on adjusting the sending rate of a flow according to available bandwidth. A flow is considered responsive to congestion when the flow adjusts its sending rate in reaction to packet losses. The most widely used type of responsive flow is based on the Transmission Control Protocol (TCP), which has sophisticated mechanisms for congestion control including slow start, additive increase/multiplicative decrease, timeouts, duplicate ACKs, and other developing techniques.
Another part of congestion control is packet queue management that is associated with a packet drop policy. When the queue build-up at a router exceeds a certain threshold, the router detects this as an indication of congestion and takes a responsive action. Typically, the action is to drop packets. A number of issues are related to drop policy including: congestion control, fairness among flows, and queueing delay. Various approaches to these issues have been suggested including tail drop, random drop, early drop, random early detection (RED), and RED In/Out (RIO).
There is a strong correlation between congestion controls at sources and routers. The drop policy at routers impacts the sending rate at sources, and the reaction of sources to packet losses affects queue build-up at routers. Changes in queue lengths results in changes to drop rates. These interacting effects continue until a network reaches a steady state (if a steady state exists). What the steady state is and how fast it is reached is determined by the congestion control mechanisms at both sources and routers. Thus, network congestion control should be examined and evaluated as an interaction between the source and router congestion control mechanisms. But these mechanisms are complicated, which makes evaluating their interactions quite difficult.